type MyAwaited<T extends Promise<any>> = T extends Promise<infer X>
  ? X extends Promise<infer Y>
    ? MyAwaited<X>
    : X
  : never;
